package top.zhangjianyong.blog.service;

import top.zhangjianyong.blog.model.request.StsTokenRequest;
import top.zhangjianyong.blog.model.response.StsTokenResponse;

/**
 * STS 服务接口
 * 
 * @author zhangjianyong
 * @since 2024-01-01
 */
public interface StsService {
    
    /**
     * 获取STS临时凭证
     * 
     * @param request STS Token请求参数
     * @return STS Token响应
     */
    StsTokenResponse getStsToken(StsTokenRequest request);
    
    /**
     * 验证STS Token有效性
     * 
     * @param accessKeyId 访问密钥ID
     * @param securityToken 安全令牌
     * @return 是否有效
     */
    boolean validateToken(String accessKeyId, String securityToken);
    
    /**
     * 刷新STS Token
     * 
     * @param request STS Token请求参数
     * @return STS Token响应
     */
    StsTokenResponse refreshToken(StsTokenRequest request);
} 